package API;

import java.lang.reflect.Field;

public class fzl {
    public static void main(String[] args) {
        int a=1;
        String str="hello";
        System.out.println(str instanceof String);
        Integer Number= 1;
        System.out.println(Number instanceof Integer);
//
//        int num = 10;
//        Field field = num.getClass().getDeclaredField("value");
//        System.out.println(field.getType()); //输出int

        //自动装箱
        Integer numOne=1;
        //自动拆箱
        int numTwo=numOne;

        //手动装箱
        Integer num0=new Integer(1);
        //手动装箱
        int numZero=num0.intValue();


        // 基本数据类型
        int i = 10;
        double d = 3.14;
        boolean b = true;
        char c = 'a';

        // 引用数据类型
        String s = "hello";
        Integer ii = new Integer(10);
        Double dd = new Double(3.14);
        Boolean bb = new Boolean(true);
        Character cc = new Character('a');

        // 使用 instanceof 判断引用数据类型
        if (s instanceof String) System.out.println("s 是 String 类型");
        if (ii instanceof Integer) System.out.println("ii 是 Integer 类型");

        // 使用 getClass().getName() 判断引用数据类型
        System.out.println(s.getClass().getName()); // 输出 java.lang.String
        System.out.println(ii.getClass().getName()); // 输出 java.lang.Integer

        // 使用 isPrimitive() 判断基本数据类型
        if (int.class.isPrimitive()) System.out.println("i 是基本数据类型");


    }
}
